/**
* struct ListNode {
*	int val;
*	struct ListNode *next;
* };
*/
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k) {
	if (NULL == pListHead || k < 0){
		return NULL;
	}
	struct ListNode* front = pListHead;
	struct ListNode* back = pListHead;
	while (k--)
	{
		if (front == NULL){
			return NULL;
		}
		front = front->next;
	}
	while (front)
	{
		front = front->next;
		back = back->next;
	}
	return back;

}